package org.dandsoft.blackbox.snn;

import org.dandsoft.blackbox.ObjectId;

import java.util.Enumeration;
import java.util.Iterator;

/**
 * User: dvilyuzhanin
 * Date: 19.01.2009 18:22:55
 */
public interface NeuronStructure {

    public int getNeuronsPoolSize() throws SnnException;

    public void setNeuronsPoolSize(int size) throws SnnException;

    public int getSynapsePoolSize() throws SnnException;

    public void setSynapsePoolSize(int size) throws SnnException;

    public ObjectId createNeuron() throws SnnException;

    public void deleteNeuron(ObjectId neuronId) throws SnnException;

    public Neuron getNeuron(ObjectId neuron) throws SnnException;

    public ObjectId connectNeurons(ObjectId sourceId, ObjectId destinationId) throws SnnException;

    public void disconnectNeurons(ObjectId synapse) throws SnnException;

    public Synapse getSynapse(ObjectId synapse) throws SnnException;

    public Iterator<Synapse> getSynapsesBySource(ObjectId sourceId) throws SnnException;

}
